<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script src="../js/jquery.js"></script>
    <script>
        // Promise的封装
        function request(url) {
            return new Promise((resolve, reject) => {
                $.ajax({
                    url: url,
                    success(data) {
                        resolve(data)
                    },
                    error(err) {
                        reject(err)
                    }
                })
            })
        }
        // world的请求, promise对象
        request("http://localhost:3000/data")
            .then((res) => {
                console.log(res);
                return request("http://localhost:3000/data1")
            }) // 此处的.then应该是上一个Promise对象调用的
            .then((res) => {
                console.log(res);
                return request("http://localhost:3000/data2")
            })
            .then((res) => {
                console.log(res);
                // return 123; // 如果没有promise对象.自动创建一个promise对象
            }).then((res) => {
                console.log(res);
            })
            // catch 是捕获异常 catch并不是某个promise对象的catch,谁出错了,catch就捕获谁
            .catch(err => {
                console.log(err);
            })
            // 无论成功还是失败都会执行finally函数
            .finally(() => {
                console.log('响应结束了');
            })
    </script>
</body>

</html>